Next: Init Non-ASCII, Previous: Terminal Init, Up: Init File [Contents][Index]
Normally Emacs uses the environment variable HOME
(see HOME)
to find .emacs; that’s what
‘~’ means in a file name. If
.emacs is not found inside ~/ (nor
.emacs.el), Emacs looks for
~/.emacs.d/init.el (which, like
~/.emacs.el, can be byte-compiled).
However, if you run Emacs from a shell started by
su, Emacs tries to find your own
.emacs, not that of the user you are currently
pretending to be. The idea is that you should get your own editor
customizations even if you are running as the super user.
More precisely, Emacs first determines which user’s init
file to use. It gets your user name from the environment
variables LOGNAME and USER; if neither
of those exists, it uses effective user-ID. If that user name
matches the real user-ID, then Emacs uses HOME;
otherwise, it looks up the home directory corresponding to that
user name in the system’s data base of users.